一、拉取推送
1.查看本地与远程服务器代码不同之处:
git status
2.克隆服务器代码到本地当前目录:
git clone git@192.168.43.187:huang/rt_thread.git
git clone http://192.168.43.187/huang/rt_thread.git
3.添加不同之处到本地git库:
git add . // 代表添加所有不同
git add 文件夹名 // 添加指定文件夹
4.提交添加到缓存区的文件到本地仓库:
git commit -m “记录”
5.提交修改过但没有添加到缓存区的文件:
git commit -a -m “记录”
6.将本地代码推送到服务器:
git push
二、密钥生成
1.生成ssh密钥:
ssh-keygen -t rsa -C “648461@qq.com“
2.密钥存放路径:
C:\Users\hyl.ssh
三、git官方指导命令
Git 全局设置
1 | git config --global user.name "黄" |
创建一个新仓库
1 | git clone [email protected]:huang/rt_thread_demo.git |
推送现有的 Git 仓库
1 | cd existing_repo |
1.删除文件:
rm 文件
2.强制删除文件夹:
rm -rf 文件夹
3.显示当前目录的文件(包括隐藏的文件):
ls -la
4.显示git配置:
git config –list
git config user.name “huang”
git config user.email “648@qq.com”
5.清屏:
claer
6.git本地仓库初始化
git init
7.git本地仓库初始化并创建文件夹
git init 创建文件夹名
8.git status
9.追踪文件到仓库
git add 文件
10.追踪所有文件到仓库
git add .
11.保存、备份(会生成一个档案号),需要先追踪add
git commit -m “记录”
12.追踪文件并保存备份(被修改的文件已经在缓存区了也就是不需要add)
git commit -am “记录”
13.显示log更加commit生成的档案号
git log
14.最近2次提交的内容差异
git log -p -2
15.git log –oneline
16.git log –grath
17.定制log格式
git log –pretty=format:”%h -%an, %ar : %s”
18.git log –author=”huang”
19.git diff
20.查看文件哪里修改了
git diff 文件
21.add后也可以看diff
git diff –staged
22.gitignore
23.gitignore /文件夹
24.忽略.log结尾的文件
*.log
25.忽略.zip结尾的文件
*.zip
26.将文件后文件夹或者所有文件从缓存踢出(将不会再被追踪)
git rm -r –cached .
git rm -r –cached /文件夹
git rm -r –cached 文件
27.打开文件路径code
open .
code . // 通过vscode打开当前路径项目
28.恢复到上一次的状态
git checkout – 改变的文件
29.撤销当前文件的追踪,HEAD就是指针的意思,指向后面的文件、版本等
git reset HEAD [filename]
30.回退到上一个版本
git reset –hard HEAD^
hard为硬回退,本地文件会被删除,
soft为软回退,本地文件不受影响。
31.回退到上上个版本
git reset –hard HEAD^^
32.回退到指定hash的版本,会删除之后的版本
git reset –hard [hash号]
33.指针理解
git reflog
34.将文件恢复到指定版本,重新在最后创建一个版本,不会删除之前的版本
git checkout [hash] – [filename]
35.所有文恢复到指定版本
git checkout [hash] – .
36.查看分支
git branch
37.创建分支
git branch [name]
38.切换分支
git checkout [branch name]
39.创建并切换分支(会把当前所在的分支内容复制到新创建的分支)
git checkout -b [branch name]
40.删除分支,不能在本分支下删除本分支
git branch [name] -d
41.强制删除分支,没有合并的情况下使用
git branch [name] -D
42.用hash号找回已经被删除的分支
git branch 分支名 [hash号]
43.首先切换到要合并的分支,把其它的分支合并到当前的分支,相当于把其它的分支以覆盖的方式拷贝一份过来(合并后这两个分支就一模一样了)
git merge [branch name]
44.查看合并冲突的原因
git status
45.忽略合并,取消合并
git merge –abort
46.当合并有冲突时,需要选择修改冲突的文件,然后git add .,git commit(不需要加-m,之后会弹出一个记录文件让你作记录)
git add .
git commit
47.查看版本线图
git log
git log –oneline
查看当前分支log
git log –oneline –graph
查看所有分支下的log
git log –oneline –graph –all
git log –oneline –graph -[number]
48.快转机制是当前master的将来时(两个合并的版本是一样的)
git merage branchname –no-ff // 没有快转机制,会合生成一个内容一样的版本
49.更多合并的方法
只合并不提交档案,合并给别人测试好之后再生成档案
git merge –no-ff –no-commit [branchname]
将分支的多个版本转化成一个
git merge –squash [branchname]
恢复到没有合并之前
git reset –hard ORIG_HEAD
50.一次性删掉所有不想要的分支(已经合并的分支),排除掉master和develop分支
git branch –merged | egrep -v “(^*|master|develop)” | xargs git branch -d
51.查看所有已经合并的分支
git branch –merged
52.查看所有未合并的分支
git branch –no-merged
53.一次性删掉所有已合并的分支,排除掉master(用大写的D强制删除)
git branch –no-merged | egrep -v “(^*|master)” | xargs git branch -D
54.将本地仓库和远程仓库连接
git remote add 名字+你要连接的远程仓库地址
git remote add origin git@github.com:huang/holle-word.git
55.提交到远程仓库origin代表之前git remote add的远程仓库地址(–set-upstream代表连接的意思,第一次提交必须要,之后就可以直接用push了)
git push –set-upstream origin master
git push -u origin master // 上面的简写版
56.清除remote信息
git remote remove 名字(例如origin)
57.克隆远程仓库到本地
git clone [远程仓库]
58.不自动checkout,不会自动到master分支,需要手动checkout到一个分支(可以快速 克隆)
git clone –no-checkout [远程仓库地址] [自己取的项目名]
59.只克隆仓库信息(.git文件夹里面的内容)
git clone –bare [远程仓库地址] [自己取的项目名]
60.克隆本地仓库[git clone –bare克隆下来的]
git clone [本地仓库路径]
61.将远程的仓库拉取到本地(如果远程仓库和本地仓库不一样,push之前必须要先pull)。git pull = git fetch + git merge
git pull
62.从远端分支拉取内容
git fetch
63.合并
git merge
64.查看远程地址
git remote -v
65.远程仓库迁移
git remote set-url origin [远端仓库的地址]
66.将所有的内容、分支push
git push –all
git push origin developA // 只pushdevelopA分支
67.查看远端和本地的分支
git branch -a
68.切换到远端的分支,使同步到本地
git checkout [远端分支名]
69.删除远端分支,先在本地删除相应的分支然后push
git push origin –delete [远端分支名]
70.生成公钥
ssh-keygen
71.使用公钥登录阿里云服务器
exit // 退出当前ssh连接
72.查看git信息,邮箱、名字等
git config –list
73.gitlab CI/CD
Continuous Integration (CI) // 持续集成
Continuous Delivery(CD) // 持续交互
Continuous Deployment(CD) // 持续部署
74.git 有些文件夹add不了解决方法
git rm –cached directory
git add directory
75.找回回收站中的文件
git fsck –lost-found
git show 3020d2773d4073ddfdbc706dd197f936d5a2cc5b
git merge 3020d2773d4073ddfdbc706dd197f936d5a2cc5b
可以找回的文件在 .git/lost-found文件夹下
76.提交指定分支
git push origin HEAD:refs/for/branch_name
77.修改最后一次提交
git commit –amend
Change-Id: I4971d0021316c049c89df776001f621a88128263 为提交id
git的基本原理介绍:https://880755.xyz/zblog/?id=101
- 本文作者: 龙兄嵌入式
- 本文链接: https://hexo.880755.xyz/1970/01/01/zblog/download/18.git bash常用命令/